package com.qding.park.manager.mapper;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.qding.park.manager.pojo.TbMonthRent;
import com.qding.park.manager.pojo.example.TbMonthRentExample;

public interface TbMonthRentMapper {

	int save(TbMonthRent tbMonthRent);
	
	int recordDel(@Param("orderId")String orderId);

	TbMonthRent queryMonthRentById(@Param("id") String id);
	
	/**
	  * listByExample(依据统计条件  统计月租单 列表)
	  * TODO(这里描述这个方法适用条件 – 可选)
	  * TODO(这里描述这个方法的执行流程 – 可选)
	  * TODO(这里描述这个方法的使用方法 – 可选)
	  * TODO(这里描述这个方法的注意事项 – 可选)
	  *
	  * @Title: listByExample
	  * @Description: TODO
	  * @param @param example
	  * @param @return    设定文件
	  * @return List<TbMonthRent>    返回类型
	  * @throws
	  */
	List<TbMonthRent> listByExample(TbMonthRentExample example);
	
	/**
	  * paySuccess(支付成功)
	  * @Title: paySuccess
	  * @Description: TODO
	  * @param @param tbMonthRent
	  * @param @return    设定文件
	  * @return int    返回类型
	  * @throws
	  */
	int paySuccess(TbMonthRent tbMonthRent); 
	
	int issuedFailRollBack(TbMonthRent tbMonthRent);
	
	/**
	  * payedHandled(用户支付完成 并且下发车场成功 更新)
	  *
	  * @Title: payedHandled
	  * @Description: TODO
	  * @param @param tbMonthRent
	  * @param @return    设定文件
	  * @return int    返回类型
	  * @throws
	  */
	int payedHandled(TbMonthRent  tbMonthRent);

	int updateStatusByid(@Param("id") String id, @Param("status") int status);
	
	/**
	  * payFail(支付失败)
	  * TODO(这里描述这个方法适用条件 – 可选)
	  * TODO(这里描述这个方法的执行流程 – 可选)
	  * TODO(这里描述这个方法的使用方法 – 可选)
	  * TODO(这里描述这个方法的注意事项 – 可选)
	  *
	  * @Title: payFail
	  * @Description: TODO
	  * @param @param orderId
	  * @param @param status
	  * @param @return    设定文件
	  * @return int    返回类型
	  * @throws
	  */
	int payFail(@Param("orderId")String orderId,@Param("status")int status);

	int updateStatusTradeIdByid(@Param("id") String id, @Param("status") int status, @Param("tradeId") String tradeID);

//	int updatePaySuccessByid(@Param("id") String id, @Param("status") int status, @Param("tradeId") String tradeID);
	
	
	    /**
	    * @Title: updateCostMonthById
	    * @Description: TODO(根据订单号更新  月租续费单的费用及月数)
	    * @param @param orderId
	    * @param @param cost
	    * @param @param monthNum
	    * @param @return    参数
	    * @return int    返回类型
	    * @throws
	    */
	int updateCostMonthById(@Param("id") String orderId,@Param("cost") int cost,@Param("monthNum")int monthNum,@Param("expiredate")Date expiredate);
	
	
	
}
